Development of communication via the Internet has transformed human lives in many areas, including how businesses interact with their customers. Whereas early Internet businesses have primarily relied on the user interface of their websites for communication with their customers when the communication did not have to be interactive, and on human agents acting via the Internet or another medium when an interactive two-way communication was necessary, the limitations of such communications became apparent over time. Thus, the number of customers that human agents can help is inherently limited, creating long wait times when the number of customers exceeds the number of available agents. Likewise, a customer trying to take an action, such as to receive information or order a particular product or service via a website, may be frustrated by how long completing the task and identifying correct information takes.
Chatbots, computer programs that can conduct a conversation with a human by executing a particular workflow, have recently made inroads into customer service. For example, automated online assistants include a chatbot that solicits input from a user and translates the input into a format that can be used by an expert system to find an answer to user queries. While such chatbots can increase the speed with which a customer receives assistance without requiring an increase in the number of human agents involved in customer service, the current chatbot technology still suffers from multiple drawbacks.
First, creating a chatbot customized for a particular business can require tremendous efforts and expertise, which may not be available to a majority of entities, such as individuals or business, in need of such a bot. The required resources increase along with the number of chatbots needed, and if an entity offers goods or services diverse enough to require multiple chatbots, getting the required chatbots may be unattainable.
Further, even if a chatbot is available to assist a customer, accessing such chatbot generally requires the customer to use specific software. Thus, a customer may be required to enter a particular chatroom or install a particular software. These technical requirements not only require a customer to spend additional time to interact with the chatbot, but may also prevent the customer from accessing the chatbot entirely if the computing device of the customer is not compatible with the technical requirements.
Finally, the answers that a chatbot can provide to a user are generally limited by the information stored internally by the system to which the chatbot interfaces. If the stored information is insufficient, the chatbot may not be able to assist the customer. Further, such chatbots generally lack any insight on the user, and may not customize their responses to the specific demands of a particular user. Finally, such bots usually employ a sequential conversation flow, and the speed with which the conversation proceeds is limited by the length of the sequence.
Accordingly, there is a need for a flexible way to facilitate interactions with chatbots that can leverage a plurality of sources of information and for an easy, scalable, way to produce such chatbots.